草庐IT

c++ - RegSetValueEx 线程安全吗?

全部标签

c - Windows 上的 Ubuntu 上的 Bash : Signal handler does not work

我尝试运行一个简单的程序(下面的代码),它应该接收并处理SIGUSR1信号。它在“真正的”Linux上运行良好,但如果我在发送SIGUSR1后在WSL上运行它,它会打印Userdefinedsignal1并终止。据我所知,这意味着SIGUSR1未被程序处理,而是调用了默认处理程序。如何使WSL上的信号处理正常工作?提前致谢!源代码:#include#include#includevoidhandle_signal(intsigno){write(1,"Recievedusersignal\n",22);}intmain(){structsigactionact;act.sa_handl

c - 在 list 中使用 requireAdministrator 恢复为 Windows 程序中的普通用户?

我试图将一些重复的安装任务封装到一个私有(private)安装程序中。该程序供内部使用,为工业用户设置定制的单一用途系统。我需要管理员权限来为我们的环境调整一些Windows设置,然后我需要为要使用的应用程序软件包设置一些当前用户设置。当管理员权限不再时,在其list中使用requireAdministrator的Windows程序(使用纯C,使用VisualStudio2017创建)是否有可能恢复到启动该程序的用户需要吗?我已经在linux中看到了这一点,但无法找到在Windows中完成的任何示例(甚至提及)。帮助?请问? 最佳答案

linux - C++11线程库是否调用OS API来运行多线程程序?

众所周知,我们可以使用C++库编写通用的跨平台多线程代码(无论Linux还是Windows),我想知道为什么c++11使它变得简单,它实际上是调用OSAPI,还是使用一些其他技术? 最佳答案 C++只是一种您用来表达想法的语言。最后,您的二进制文件仍然必须使用操作系统的功能来执行任何需要系统级访问的操作,例如操纵系统调度程序(例如:创建线程)。您的编译器和库使用哪些操作系统功能来支持C++语言功能的详细信息可以在它们的文档中找到。我想大多数Linuxenvs在C++线程的引擎盖下使用pthread,而Windows环境使用win32

python - 如何在 Windows 中安全地存储数据库凭据?

我使用python和SQL-server来管理数据库,但我不知道有关数据库管理的“良好实践”,对安全信息知之甚少。将Windows中的数据库凭据保存为环境变量并将其用于os.environ的脚本中是否安全?像这样:importosDB_HOST=os.environ['DBHOST']DB_USER=os.environ['DBUSER']...存储凭据以自动使用数据库的正确方法是什么? 最佳答案 如果您问是否应该为笔记本电脑永久设置环境变量-我会避免这种情况,因为任何进程都可以很容易地列出PC上的所有环境变量和相关的存储值。相反-

c - 将字符串分配给结构中的 char*

也许我今天起得太久了,但我不明白为什么会这样:intmain(){structemf_struct{longnum;char*str;doublereal;};structemf_structemf[10];emf[1].real=4.5;emf[1].str="Thisisastring";emf[1].num=1234567890;printf("%d-%s-%f\n",emf[1].num,emf[1].str,emf[1].real);return(0);}在Microsoft下编译时(只是cl文件名),输出为:1234567890-这是一个字符串-4.500000如果结构使用

在 C 程序 (Visual Studio) 中正确放置 volatile 修饰符

我知道volatile修饰符已被广泛讨论。请不要对我大喊大叫。我知道为什么要使用它,但我正在尝试在使用VisualStudio2008和2010的多线程C程序中正确使用它。在Windows10上遇到了一些问题。我将修饰符放在简单声明中的位置是否重要?例如,这两个构建都成功,但我想知道编译器的含义是否有任何差异://differenceifanybetweenthesetwo?volatilechar_initialized=0;charvolatile_initialized=0;更复杂的声明呢?鉴于这种结构:typedefstruct_KEY_HANDLE{ULONGhandle;v

c - fwrite 和 fread 顺序问题

我正在尝试将带有数组的简单结构写入文件,然后读取它。它适用于小于25的小数组,但由于某种原因,此后的所有数据均未初始化;typedefstructTestStruct{intdata[30];}TestStruct;TestStruct*test=malloc(sizeof(TestStruct));for(inti=0;idata[i]=i;}constchar*filename="some.txt";FILE*file=fopen(filename,"w+");fwrite(test,sizeof(TestStruct),1,file);rewind(file);TestStruc

c++ - 使用 Dbghelp.h 的函数列表

我想打印函数名(导入的、导出的、普通/本地函数)而不是变量名等等。SymEnumSymbolsEx枚举所有符号,但我只想要函数。里面也找不到怎么区分函数和变量callback功能。有没有办法只枚举函数? 最佳答案 SYMBOL_INFO传递给您的回调有Flags,并且函数有SYMFLAG_FUNCTION 关于c++-使用Dbghelp.h的函数列表,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

c++ - 我的程序在 Windows 机器上崩溃但在 Linux 上运行正常

我尝试在我的笔记本电脑(Win10)上编写Ackermann函数,但是程序在更高的值时崩溃了,而不是继续计算几分钟或几小时。我的friend在他的机器(SUSE)上尝试了相同的代码,它工作得很好,然后我们在学校服务器(CentOS)上尝试了它,但它再次崩溃。编辑:它也在服务器上工作,只需要再试一次。它也适用于我们尝试过的另一台服务器……所有这些都在Linux上。我们怀疑它背后是堆栈溢出,但这很奇怪,因为值还没有那么高。那么我如何能够在这个系统上执行递归函数呢?谢谢大家的回答。我只是好奇它为什么会发生以及如何让它在我的机器上运行。我尝试同时使用C和C++,但没有任何变化。#include

c - 是否可以在 Windows api 中覆盖 MFT 文件表?

是否可以在WindowsAPI中覆盖MFT文件表。Windows何时启动并准备就绪?我知道我们可以读MFT,但我问的是写。 最佳答案 Vista限制原始访问,但如果您先卸载该卷,您可能仍然可以这样做。ChangestothefilesystemandtothestoragestacktorestrictdirectdiskaccessanddirectvolumeaccessinWindowsVistaandinWindowsServer2008.我不知道您正在编写的程序类型,但它可能属于此类:Backupprogramsmustu